// Print params interface
interface PrintParams {
    deviceId: string;
    deviceKey: string;
    devicePort: number;
    taskTicket: string;
    printerModel: string;
    jobFile: string;
    isPreview: number;
    jpAutoScale: number;
    reportPrinterStatus: number;
    reportDeviceStatus: number;
    jpAutoAlign: string;
    pdfKernel: string;
    jpScale: string;
    jpPageRange: string;
    jpAutoRotate: number;
    dmOrientation: number;
    dmDefaultSource: number;
    dmColor: number;
    ext: string;
    page: number;
    dmCopies: number;
    dmPaperSize: number;
    dmDuplex: number;
}

// Order interface
interface Order {
    id: number;
    order_number: string;
    transaction_id: string;
    agent_id: null | number;
    agent_profit_price: string;
    amount: string;
    color: number;
    copies: number;
    created_at: string;
    duplex: number;
    ext: string;
    files: string;
    machine_id: number;
    page: number;
    paper_count: number;
    paper_size: number;
    params: string | PrintParams;
    print_remark: string | null;
    print_status: number;
    printed_at: string | null;
    printer_id: number;
    profit_price: string;
    service_price: string;
    status: number;
    store_id: number;
    task_id: string | null;
    total_amount: string;
    uid: number;
    updated_at: string;
}

// Refund record interface
interface RefundRecord {
    id: number;
    uid: number;
    order_id: number;
    store_id: number;
    printer_id: number;
    phone_number: string;
    print_status: number;
    refund_amount: string;
    refund_reason: string;
    refund_status: number;
    rejection_reason: string;
    created_at: string;
    updated_at: string;
    image: string;
    order: Order;
}

export type {RefundRecord}
